package com.fzg.common.tool;

import lombok.extern.slf4j.Slf4j;

import java.util.ArrayList;
import java.util.Arrays;

/**
 * create by fzg
 * 2022/3/15 19:39
 */

@Slf4j
public class Medthods {

    /**
     * java用replace方法替换身份证号的中间位数
     */
    public static String replaceIdNumberByStar(String idNumber){
        String uIdNumber;
        if (idNumber == null || idNumber.length() < 18){
            return "未知";
        }
        uIdNumber = idNumber.replace(idNumber.substring(6, 14), "********");
        return uIdNumber;
    }

    /**
     * 图片的URLs 转为arraylist
     * urls可能为空，可能只有一个URL，可能有两个以上，多个url之间以英文分号“;”隔开
     * @param urls 参数：图片urls
     * @return ArrayList<String>
     */
    public static ArrayList<String> imageStrSplitToArrayList(String urls){
        // urls包含的图片地址（有可能没有，有可能只有一张，有可能有一张以上：地址之间以;隔开）
        if (urls == null){
            return new ArrayList<>();
        }else {
            boolean flag = false;
            for (int i = 0; i < urls.length(); i++) {
                String ch = String.valueOf(urls.charAt(i));
                if (ch.equals(";")) {
                    flag = true;
                    break;
                }
            }
            if (flag){ // 说明有两张及两张以上的图片
                String[] diaryImgArray = urls.split(";");
                // 数组转list
                return new ArrayList<>(Arrays.asList(diaryImgArray));
            }else {
                // 说明只有一张
                ArrayList<String> list = new ArrayList<>();
                list.add(urls);
                return list;
            }
        }
    }

    public static String imageUrlsSplitToFirstUrl(String urls){
        if (urls == null){  // 如果该日记没有图片
            return "https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimg.jj20.com%2Fup%2Fallimg%2F1113%2F052420110515%2F200524110515-11-1200.jpg&refer=http%3A%2F%2Fimg.jj20.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1658383473&t=2afc825ebaf15cf0c11775764902135c";
        }else {
            boolean flag = false;
            for (int i = 0; i < urls.length(); i++) {
                String ch = String.valueOf(urls.charAt(i));
                if (ch.equals(";")) {
                    flag = true;
                    break;
                }
            }
            if (flag){ // 说明有两张及两张以上的图片
                String[] picUrls = urls.split(";");
                return picUrls[0];  // 取第一张
            }else { // 说明只有一张
                return urls;
            }
        }
    }

    /**
     * 整型数字转化成包含中文字体的字符串（例如：10000===》1万  1000 ===》1K）
     * @param num 参数
     * @return String
     */
    public static String integerToContainChineseFontString(Integer num){
        if (num < 10000){
            return num.toString();
        }else {
            double n = (double) num/10000;
            String s = Double.toString(n);
            if (s.contains(".")){
                // 保留小数点后2位
                if (s.substring(s.indexOf(".")).length() > 2){
                    return s.substring(0,s.indexOf(".")) + "." + s.substring(s.indexOf(".")+1,s.indexOf(".")+3) + "万";
                }else {
                    return s + "万";
                }
            }else {
                return s + "万";
            }

        }
    }

    /**
     * 一串字符串（首字母是英文）
     * 让首字母小写
     */
    public static String strToFirstWordSmall(String str){
        String firstWord = str.substring(0, 1);
        return firstWord.toLowerCase() + str.substring(1);
    }

    public static void main(String[] args) {
        System.out.println(strToFirstWordSmall("SHORT"));
    }


}
